/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is NetBeans. The Initial Developer of the Original
* Code is Sun Microsystems, Inc. Portions Copyright 1997-2001 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.corba.idl.src;
import java.util.Vector;
public class TypeElement extends IDLElement {
//private static final boolean DEBUG = true;
public static final boolean DEBUG = false;
private String type_name;
private IDLType type;
//private Vector members;
public TypeElement (int id) {
super(id);
//members = new Vector ();
setName ("typedef");
setTypeName ("none");
}
public TypeElement (IDLParser p, int id) {
super(p, id);
//members = new Vector ();
setName ("typedef");
setTypeName ("none");
}
public void setTypeName (String t) {
type_name = t;
}
public String getTypeName () {
return type_name;
}
public IDLType getType () {
return type;
}
public void setType (IDLType val) {
type = val;
}
public void jjtSetParent (Node n) {
super.jjtSetParent (n);
String type;
//if (DEBUG) {
// System.out.println ("TypeElement.jjtSetParent ()");
// if (getType () != null)
//System.out.println ("type: " + getType ().getName ());
//}
//if (getMember (0) instanceof Identifier)
setName (((IDLElement)getMember (0)).getName ());
if ((getMember (0) instanceof StructTypeElement)
|| (getMember (0) instanceof UnionTypeElement)
|| (getMember (0) instanceof EnumTypeElement)) {
setType (new IDLType (-1 ,(((TypeElement)getMember (0)).getName ())));
}
if (DEBUG)
System.out.println ("name: " + getName ());
else {
// constr type
//setType (((Identifier)getMember (0).getMember (0)).getName ());
//setType ("typedef");
//for (int i = 1; i<getMembers ().size (); i++)
}
for (int i = 0; i<getMembers ().size (); i++) {
if (getMembers ().elementAt (i) instanceof DeclaratorElement) {
//((DeclaratorElement)getMembers ().elementAt (i)).setType (new Type (-1, getName ()));
((DeclaratorElement)getMembers ().elementAt (i)).setType (getType ());
}
}
}
}